<?php
/**
 * 前台公共模型 
 *
 * @package         YDCMS
 * @author          QQ:644157559 <644157559@qq.com>
 * @version         $Id: CommonModel.class.php v1.0 2014-06-13 17:27:03 $
 */
namespace Home\Model;

use Think\Model\RelationModel;
class CommonModel extends RelationModel{
    public $TypeInfos;
    public $Content;
    public function _initialize() {
        parent::_initialize();
        $tid = I("get.tid", 0, "intval");
        if($tid > 0){
            $this->TypeInfos = M("Contype")->getById($tid);
        }else{
            $aid = I("get.aid", 0, "intval");
            if($aid > 0){
                $this->Content = M("Content")->getById($aid);
                if(isArrayAndNotEmpty($this->Content) && $this->Content["typeid"] > 0){
                    $this->TypeInfos = M("Contype")->getById($this->Content["typeid"]);
                }
            }
        }
    }
    
    /**
     * 得到数据行数
     * @param  array $where
     * @return int
     */
    public function getCount(array $where) {
        return $this->where($where)->count();
    }

    /**
     * 得到分页数据
     * @param  array $where    分页条件
     * @param  int   $firstRow 起始行
     * @param  int   $listRows 行数
     * @return array
     */
    public function getPagination($where, $fields,$order,$firstRow,$listRows, $relation = true) {
        // 是否关联模型
        $M = $this->isRelation() ? $this->relation($relation) : $this;
        // 需要查找的字段
        if (isset($fields)) {
            $M = $M->field($fields);
        }

        // 条件查找
        if (isset($where)) {
            $M = $M->where($where);
        }

        // 数据排序
        if (isset($order)) {
            $M = $M->order($order);
        }

        // 查询限制
        if (isset($firstRow) && isset($listRows)) {
            $M = $M->limit($firstRow . ',' . $listRows);
        } else if (isset($listRows) && isset($firstRow)) {
            $M = $M->limit($listRows);
        }

        return $M->select();
    }
    
    /**
     * 是否关联查询
     * @return boolean
     */
    protected function isRelation() {
        return true;
    }
}
